Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add some engine jobs that run with Oracle GraalVM #9322

Merged
merged 23 commits into from
Mar 12, 2024

Conversation

Akirathan
Copy link
Member

@Akirathan Akirathan commented Mar 7, 2024

Closes #9266.

Pull Request Description

Adds Oracle GraalVM configuration for some backend jobs. Oracle GraalVM jobs run only on Linux so far. The old jobs use GraalVM CE.

Important Notes

  • The JDK to download and use is deduced from the JAVA_VENDOR environment variable. By default, GraalVM CE is used.
  • sbt can be started with both GraalVM CE and Oracle GraalVM without any warnings.
    • If you try to start sbt with JDK from a different vendor, but with the same Java version, a warning is printed.

Current list of jobs in the Engine CI workflow (these jobs are visible on this PR, because they are scheduled to run on every PR):

  • Engine (GraalVM CE) (linux, x86_64)
  • Engine (GraalVM CE) (macos, x86_64)
  • Engine (GraalVM CE) (windows, x86_64)
  • Engine (Oracle GraalVM) (linux, x86_64)
  • Scala Tests (GraalVM CE) (linux, x86_64)
  • Scala Tests (GraalVM CE) (macos, x86_64)
  • Scala Tests (GraalVM CE) (windows, x86_64)
  • Scala Tests (Oracle GraalVM) (linux, x86_64)
  • Standard Library Tests (GraalVM CE) (linux, x86_64)
  • Standard Library Tests (GraalVM CE) (macos, x86_64)
  • Standard Library Tests (GraalVM CE) (windows, x86_64)
  • Standard Library Tests (Oracle GraalVM) (linux x86_64)
  • Verify License Packages (linux, x86_64)

Benchmark Engine workflow (not visible on this PR, cannot schedule manually yet):

  • Benchmark Engine (GraalVM CE)
  • Benchmark Engine (Oracle GraalVM)

Benchmark Standard Libraries workflow (not visible on this PR, cannot schedule manually yet):

  • Benchmark Standard Libraries (GraalVM CE)
  • Benchmark Standard Libraries (Oracle GraalVM)

Checklist

Please ensure that the following checklist has been satisfied before submitting the PR:

  • Ensure Oracle GraalVM is downloaded and used in the new jobs.

@Akirathan Akirathan self-assigned this Mar 7, 2024
@Akirathan Akirathan changed the title GraalVM version check permits Oracle GraalVM along with the CE edition Add some engine jobs that run with Oracle GraalVM Mar 7, 2024
@JaroslavTulach JaroslavTulach added the CI: Clean build required CI runners will be cleaned before and after this PR is built. label Mar 8, 2024
@JaroslavTulach
Copy link
Member

JaroslavTulach commented Mar 8, 2024

Oracle GraalVM seems to be downloaded and seems green. The same applies for scala tests on Oracle GraalVM.

But where are GraalVM CE tests on Linux? Shouldn't we run both?

@Akirathan Akirathan marked this pull request as ready for review March 8, 2024 14:53
Copy link
Contributor

@mwu-tow mwu-tow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am impressed with how well you deal with the build script! 👍

I have a bunch of comments, mostly stylistic.

build/build/src/ci_gen.rs Outdated Show resolved Hide resolved
build/build/src/ci_gen/job.rs Outdated Show resolved Hide resolved
build/build/src/ci_gen/job.rs Outdated Show resolved Hide resolved
build/build/src/ci_gen/job.rs Outdated Show resolved Hide resolved
build/build/src/ci_gen/job.rs Outdated Show resolved Hide resolved
build/ci_utils/src/cache/goodie/graalvm.rs Show resolved Hide resolved
build/ci_utils/src/cache/goodie/graalvm.rs Outdated Show resolved Hide resolved
build/ci_utils/src/cache/goodie/graalvm.rs Outdated Show resolved Hide resolved
build/ci_utils/src/cache/goodie/graalvm.rs Outdated Show resolved Hide resolved
build/ci_utils/src/cache/goodie/graalvm.rs Outdated Show resolved Hide resolved
Copy link
Member

@JaroslavTulach JaroslavTulach left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am concerned by changes and renames to existing CI actions. I'd prefer to leave them as unchanged as possible. I am afraid the rename will affect other tools that rely on the existing name. Otherwise looks fine.

.github/workflows/engine-benchmark.yml Show resolved Hide resolved
project/GraalVM.scala Show resolved Hide resolved
@mwu-tow mwu-tow added the CI: Ready to merge This PR is eligible for automatic merge label Mar 12, 2024
@mwu-tow mwu-tow merged commit a5a729a into develop Mar 12, 2024
37 of 41 checks passed
@mwu-tow mwu-tow deleted the wip/akirathan/oracle-vm-on-ci branch March 12, 2024 19:25
mergify bot pushed a commit that referenced this pull request Mar 13, 2024
The #9322-generated changes did not include some later changes to the generator.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI: Clean build required CI runners will be cleaned before and after this PR is built. CI: Ready to merge This PR is eligible for automatic merge
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Integrate Oracle GraalVM into Enso CI
3 participants